package template_wrapper

type TemplateConfig struct {
	// 路径前缀
	PathPrefix string
	// 路径后缀
	PathSuffix string
	// 左分隔符
	LeftDelim string
	// 右分隔符
	RightDelim string
	// 模板类型
	TemplateType string
	// 自定义函数
	FuncMap map[string]any
	// 是否使用嵌入式文件系统
	UseEmbedFS bool
	// 是否启用缓存
	CacheEnabled bool
}

const TEMPLATE_TYPE_TEXT = "text"
const TEMPLATE_TYPE_HTML = "html"
const LEFT_DELIM_DEFAULT = "{{"
const RIGHT_DELIM_DEFAULT = "}}"

func NewTemplateConfig(templateType string, pathPrefix string, pathSuffix string) *TemplateConfig {
	var newConfig TemplateConfig

	newConfig.TemplateType = templateType
	newConfig.PathPrefix = pathPrefix
	newConfig.PathSuffix = pathSuffix
	newConfig.LeftDelim = LEFT_DELIM_DEFAULT
	newConfig.RightDelim = RIGHT_DELIM_DEFAULT
	newConfig.FuncMap = nil
	newConfig.UseEmbedFS = false
	newConfig.CacheEnabled = false

	return &newConfig
}
